//package com.kxf.androidtestdemo.rn;
//
//import android.app.Application;
//import android.util.Log;
//import android.widget.Toast;
//
//import androidx.annotation.NonNull;
//
//import com.facebook.react.bridge.Promise;
//import com.facebook.react.bridge.ReactApplicationContext;
//import com.facebook.react.bridge.ReactContextBaseJavaModule;
//import com.facebook.react.bridge.ReactMethod;
//import com.facebook.react.modules.core.DeviceEventManagerModule;
//
//import java.text.SimpleDateFormat;
//import java.util.Date;
//
///**
// * @ProjectName: AndroidTestDemo
// * @Package: com.kxf.androidtestdemo.rn
// * @ClassName: MyNativeModule
// * @Description: java类作用描述
// * @Author: kuangxuefeng
// * @qq: 1024883177
// * @CreateDate: 2020/9/8 11:30
// */
//public class MyNativeModule extends ReactContextBaseJavaModule {
//    private static final String TAG = MyNativeModule.class.getName();
//
//    private ReactApplicationContext reactContext = null;
//
//    public MyNativeModule(ReactApplicationContext reactContext) {
//        this.reactContext = reactContext;
//
//        //不断向rn发送消息
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                Log.d(TAG, "开启线程不断向rn发送消息===" + Thread.currentThread().getName());
//                try {
//                    Thread.sleep(1000);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//                while (true){
//                    MyNativeModule.this.reactContext
//                            .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
//                            .emit("nativeCallRn","当前时间：\n" + new SimpleDateFormat("yyyy/MM/dd HH:mm:ss SSS").format(new Date()));
//                    try {
//                        Thread.sleep(100);
//                    } catch (InterruptedException e) {
//                        e.printStackTrace();
//                    }
//                }
//            }
//        }).start();
//    }
//
//
//    @NonNull
//    @Override
//    public String getName() {
//        return "rnUtils";
//    }
//
//    //方法不能返回值 因为被调用的原生代码是异步的 原生代码执行结束之后只能通过回调函数或者发送消息给RN
//    @ReactMethod
//    public void rnCallNative(String msg){
//        Log.d(TAG, "rnCallNative===" + msg);
//        Toast.makeText(reactContext, "rnCallNative===" + msg, Toast.LENGTH_SHORT).show();
//    }
//
//    @ReactMethod
//    public void rnCallNativePrpmise(String msg, Promise promise){
//        Log.d(TAG, "rnCallNativePrpmise===" + msg);
//        Toast.makeText(reactContext, "rnCallNativePrpmise===" + msg, Toast.LENGTH_SHORT).show();
//        promise.resolve("hello rn,i am android!====" + msg);
//    }
//}
